-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for uperf driver #118
Conversation
d7fa2f7
to
9f779b2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work Anil! I will plan to test this -- just ran out of time this Friday! Great stuff!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Joe for reviw. Kindly see my reply comments
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good addition! lgtm except the service port range.
6a75d27
to
0f274b0
Compare
Hello @venkataanil |
da37b95
to
72f6a25
Compare
done, thanks |
72f6a25
to
ee93b88
Compare
Why?, because iperf and uperf server mode run in foreground? You can always use $ (netserver & iperf3 -s -p 22865 & uperf -s -v -P 30000) && sleep inf $ ps -ef | egrep "uperf|netserver|iperf"
egrep: warning: egrep is obsolescent; using grep -E
rsevilla 839931 839929 0 22:57 pts/3 00:00:00 iperf3 -s -p 22865
rsevilla 839932 839929 0 22:57 pts/3 00:00:00 uperf -s -v -P 30000
rsevilla 839933 3241 0 22:57 ? 00:00:00 netserver |
Thanks, I tried only in foreground . Moving them to containers is a good option. Lets continue it. |
Similar to iperf, user can run uperf along with netperf using "--uperf" option benchmark-wrapper is used a reference for parsing 1) user options and creating uperf config file (input to uperf client command) 2) uperf output uperf driver supports only TCP_STREAM, UPD_STREAM, TCP_RR, and UDP_RR tests. For each test in full-run.yaml, Uperf driver will create a uperf profile file inside the client pod and uses it to run the test. Parallelism is implemented using uperf's nproc option uperf server can't be run using "&&" option in the same container inside server pod i.e "netserver && iperf3 -s -p 22865 && uperf -s -v -P 30000 && sleep 10000000" So we are creating a separate containers for netperf, iperf and uperf inside server pod. Add driver details in RR P99 Latency results
ee93b88
to
07c2f07
Compare
I'm not sure what changes you've added in the last commit but I still see multiple containers for the servers |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested locally. Nice work!
@rsevilla87 I would like to get 1 more +1 -- let me know if you feel there is anything else for @venkataanil to address. |
Does uperf not provide re-transmission info?
|
Lets go with multiple containers approach only. So I retained multiple containers code in this patch. |
I used benchmark-wrapper and benchmark-operator as base for running uperf and parsing results. uperf wrapper https://github.com/cloud-bulldozer/benchmark-wrapper/blob/master/snafu/benchmarks/uperf/uperf.py was not having info related to re-transimmion, so I couldn't add it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Similar to iperf, user can run uperf along with netperf using "--uperf" option
benchmark-wrapper is used a reference for parsing
(input to uperf client command)
uperf driver supports only TCP_STREAM, UPD_STREAM, TCP_RR, and UDP_RR tests.
For each test in full-run.yaml, Uperf driver will create a uperf profile file inside the client pod and uses it to run the test. Parallelism is implemented using uperf's nproc option
uperf server can't be run using "&&" option in the same container inside server pod i.e
"netserver && iperf3 -s -p 22865 && uperf -s -v -P 30000 && sleep 10000000" So we are creating a separate container in server pod for uperf server.
Type of change
Description
Related Tickets & Documents
Checklist before requesting a review
Testing